package gov.fgn.sijyp.integracion.origen;

import java.io.Serializable;

import javax.persistence.*;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

import java.util.List;

/**
 * The persistent class for the tipoorigenfuenteinformacion database
 * table.
 */
@Entity
@Table(name = "tipoorigenfuenteinformacion", schema = "siijyp_integracion")
@Cache(usage = CacheConcurrencyStrategy.READ_ONLY)
public class TipoOrigenFuenteInformacion implements Serializable {
  private static final long serialVersionUID = 1L;

  @Id
  @SequenceGenerator(name = "tipoorigenfuenteinformacion_generator", sequenceName = "tipoorigenfuenteinformacion_idtipoorigenfuenteinformacion_seq")
  @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "tipoorigenfuenteinformacion_generator")
  @Column(unique = true, nullable = false)
  private Integer idtipoorigenfuenteinformacion;

  @Column(nullable = false, length = 100)
  private String descripcion;

  @Column(length = 15)
  private String ip;

  @Column(length = 10)
  private String usuario;

  // bi-directional many-to-one association to OrigenFuenteInformacion
  @OneToMany(mappedBy = "tipoOrigenFuenteInformacion")
  private List<OrigenFuenteInformacion> origenFuentesInformacion;

  public TipoOrigenFuenteInformacion() {
  }

  public TipoOrigenFuenteInformacion(Integer idtipoorigenfuenteinformacion) {
    this.idtipoorigenfuenteinformacion = idtipoorigenfuenteinformacion;
  }

  public Integer getIdtipoorigenfuenteinformacion() {
    return this.idtipoorigenfuenteinformacion;
  }

  public void setIdtipoorigenfuenteinformacion(Integer idtipoorigenfuenteinformacion) {
    this.idtipoorigenfuenteinformacion = idtipoorigenfuenteinformacion;
  }

  public String getDescripcion() {
    return this.descripcion;
  }

  public void setDescripcion(String descripcion) {
    this.descripcion = descripcion;
  }

  public String getIp() {
    return this.ip;
  }

  public void setIp(String ip) {
    this.ip = ip;
  }

  public String getUsuario() {
    return this.usuario;
  }

  public void setUsuario(String usuario) {
    this.usuario = usuario;
  }

  public List<OrigenFuenteInformacion> getOrigenFuentesInformacion() {
    return this.origenFuentesInformacion;
  }

  public void setOrigenFuentesInformacion(List<OrigenFuenteInformacion> origenFuentesInformacion) {
    this.origenFuentesInformacion = origenFuentesInformacion;
  }

  public OrigenFuenteInformacion addOrigenFuentesInformacion(
      OrigenFuenteInformacion origenFuentesInformacion) {
    getOrigenFuentesInformacion().add(origenFuentesInformacion);
    origenFuentesInformacion.setTipoOrigenFuenteInformacion(this);

    return origenFuentesInformacion;
  }

  public OrigenFuenteInformacion removeOrigenFuentesInformacion(
      OrigenFuenteInformacion origenFuentesInformacion) {
    getOrigenFuentesInformacion().remove(origenFuentesInformacion);
    origenFuentesInformacion.setTipoOrigenFuenteInformacion(null);

    return origenFuentesInformacion;
  }

}